package io;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.Scanner;

/**
 * 编写一个简易的记事本程序
 * 要求:
 * 程序启动后，将控制台上输入的每一行字符串都写入到文件note.txt中
 * 如果单独输入exit("exit"不需要写入文件),程序退出
 * 文件中的内容不需要考虑换行
 *
 */
public class Test2 {
    public static void main(String[] args) throws IOException {
        Scanner scanner = new Scanner(System.in);
        /*
            文件流有两种创建模式
            覆盖模式:文件创建时如果指定的文件已经存在则先将数据全部清除
            对应的构造器:
                FileOutputStream(String fileName)
                FileOutputStream(File file)

            追加模式:文件流创建是如果指定的文件存在，那么原数据全部保留，新写出的内容会陆续
                    追加到文件中
            对应的构造器:
                FileOutputStream(String fileName,boolean append)
                FileOutputStream(File file,boolean append)
                注:第二个参数为true时为开启追加模式

         */
        FileOutputStream fos = new FileOutputStream("note.txt",true);
        System.out.println("请输入内容，单独输入exit退出");
        while(true){
            String line = scanner.nextLine();
            if("exit".equalsIgnoreCase(line)){
                break;
            }
            byte[] data = line.getBytes(StandardCharsets.UTF_8);
            fos.write(data);
        }
        System.out.println("再见!");

    }
}
